<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 闭包：一个函数可以访问到另一个函数的变量,嵌套
        // function foo(){
        //     let a = 10;
        //     return function(){
        //         console.log(a);
        //     }
        // }

        // let myFn = foo();
        // myFn();
        // foo()()

        // 经典闭包问题，
        // 缺点：需要手动清空内存里面的数据，
        // 优点：可以内部访问外部的变量
        for(var i=0;i<=5;i++){
            // console.log(i);
            // 自执行函数
            (function(i){
                setTimeout(() =>{
                    console.log(i);
                },1000)
            })(i)
            // setTimeout(() =>{
            //     console.log(i);
            // },1000)
        }




    </script>
</body>
</html>